package com.ruoyi.travel.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

public class TravelConsult extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long consultId;

    /** 咨询号 */
    @Excel(name = "咨询号")
    private String consultNumber;

    /** 客户id */
    @Excel(name = "客户id")
    private Long clientId;

    /** 出行人数 */
    @Excel(name = "出行人数")
    private Long travelerCount;

    /** 意向目的地 */
    @Excel(name = "意向目的地")
    private String preferredDestination;

    /** 预计出发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计出发时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date estimatedTime;

    /** 可调整时间范围 */
    @Excel(name = "可调整时间范围")
    private String flexibleDays;

    /** 计划天数 */
    @Excel(name = "计划天数")
    private Long plannedDays;

    /** 预算 */
    @Excel(name = "预算")
    private BigDecimal budget;

    /** 定制师 */
    @Excel(name = "定制师")
    private Long designerId;

    private TravelClient travelClient;

    private Long userId;//当前登录的用户id，数据库表里面没有，但是写在对象里面为了写方法方便。
    private String userRoleName;//当前登录用户的角色是定制师还是什么，数据库表里面没有，但是写在对象里面为了写方法方便。

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserRoleName() {
        return userRoleName;
    }

    public void setUserRoleName(String userRoleName) {
        this.userRoleName = userRoleName;
    }

    public TravelClient getTravelClient() {
        return travelClient;
    }

    public void setTravelClient(TravelClient travelClient) {
        this.travelClient = travelClient;
    }

    public void setConsultId(Long consultId)
    {
        this.consultId = consultId;
    }

    public Long getConsultId()
    {
        return consultId;
    }
    public void setConsultNumber(String consultNumber)
    {
        this.consultNumber = consultNumber;
    }

    public String getConsultNumber()
    {
        return consultNumber;
    }
    public void setClientId(Long clientId)
    {
        this.clientId = clientId;
    }

    public Long getClientId()
    {
        return clientId;
    }
    public void setTravelerCount(Long travelerCount)
    {
        this.travelerCount = travelerCount;
    }

    public Long getTravelerCount()
    {
        return travelerCount;
    }
    public void setPreferredDestination(String preferredDestination)
    {
        this.preferredDestination = preferredDestination;
    }

    public String getPreferredDestination()
    {
        return preferredDestination;
    }
    public void setEstimatedTime(Date estimatedTime)
    {
        this.estimatedTime = estimatedTime;
    }

    public Date getEstimatedTime()
    {
        return estimatedTime;
    }
    public void setFlexibleDays(String flexibleDays)
    {
        this.flexibleDays = flexibleDays;
    }

    public String getFlexibleDays()
    {
        return flexibleDays;
    }
    public void setPlannedDays(Long plannedDays)
    {
        this.plannedDays = plannedDays;
    }

    public Long getPlannedDays()
    {
        return plannedDays;
    }
    public void setBudget(BigDecimal budget)
    {
        this.budget = budget;
    }

    public BigDecimal getBudget()
    {
        return budget;
    }
    public void setDesignerId(Long designerId)
    {
        this.designerId = designerId;
    }

    public Long getDesignerId()
    {
        return designerId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("consultId", getConsultId())
            .append("consultNumber", getConsultNumber())
            .append("clientId", getClientId())
            .append("travelerCount", getTravelerCount())
            .append("preferredDestination", getPreferredDestination())
            .append("estimatedTime", getEstimatedTime())
            .append("flexibleDays", getFlexibleDays())
            .append("plannedDays", getPlannedDays())
            .append("budget", getBudget())
            .append("designerId", getDesignerId())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("travelClient", getTravelClient())
                .append("userId",getUserId())
                .append("userRoleName",getUserRoleName())
            .toString();
    }
}
